# Maintainer: Jelle van der Waa <jelle@dwaa.nl>

pkgname=prometheus-memcached-exporter
pkgver=0.8.0
pkgrel=3
pkgdesc="Exports metrics from memcached servers for consumption by Prometheus"
arch=('x86_64')
url="https://github.com/prometheus/memcached_exporter"
license=('Apache')
depends=(glibc memcached)
makedepends=(go)
backup=('etc/conf.d/prometheus-memcached-exporter')
source=($pkgname-$pkgver.tar.gz::https://github.com/prometheus/memcached_exporter/archive/v${pkgver}.tar.gz prometheus-memcached-exporter.service
        prometheus-memcached-exporter.conf)
sha512sums=('dac99c425f51ea939ec2e96ed7e51fe4b657f3e5b3ce0cb650d2614994ac6565b9bd31e4ededaac8394b35ac4a7977d11e2d9155a04df1f78a8e97c86ae26bdc'
            '13ae8e9cc8445cffab1e51f000fbe5ca0dd2a30532f8303957dc376c8891552e719681e49ffd8a83c4cd01aca897031770c9d96ed92276ff85c2e32c4fa999ee'
            'bc92af08207bee78a48cc764f038d6f5175b0051873f1238d90531f81d9b403085ec7ac62dfe934ee804794426c6bed4c309b374a418c9f7a4dbdbb157d58c23')

check() {
  cd memcached_exporter-$pkgver
  memcached_pids=()
  memcached -p 11211 -U 11211 >/dev/null        & memcached_pids+=($!)

  local ret=0
  go test ./... || ret=1

  kill ${memcached_pids[@]}

  return $ret
}

build() {
  cd memcached_exporter-$pkgver
  go build \
    -trimpath \
    -buildmode=pie \
    -mod=readonly \
    -modcacherw \
    -ldflags "-linkmode external -extldflags \"${LDFLAGS}\" \
      -X github.com/prometheus/common/version.Version=$pkgver \
      -X github.com/prometheus/common/version.Revision=$pkgver \
      -X github.com/prometheus/common/version.Branch=tarball \
      -X github.com/prometheus/common/version.BuildUser=someone@builder \
      -X github.com/prometheus/common/version.BuildDate=$(date -d=@"$SOURCE_DATE_EPOCH" +%Y%m%d-%H:%M:%S)" \
    -o memcached_exporter cmd/memcached_exporter/main.go
}

package() {
  install -Dm644 prometheus-memcached-exporter.service "$pkgdir"/usr/lib/systemd/system/prometheus-memcached-exporter.service
  install -Dm644 prometheus-memcached-exporter.conf "${pkgdir}"/etc/conf.d/prometheus-memcached-exporter

  cd memcached_exporter-$pkgver
  install -Dm755 memcached_exporter "$pkgdir"/usr/bin/prometheus-memcached-exporter
}
